{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib import ticker\n",
    "import scipy.stats as stats\n",
    "import seaborn as sns\n",
    "from sklearn import preprocessing\n",
    "import random\n",
    "\n",
    "import keras\n",
    "np.random.seed(1337)\n",
    "\n",
    "from keras.preprocessing import sequence\n",
    "from keras.optimizers import RMSprop\n",
    "from keras.models import Sequential\n",
    "from keras.layers.core import Dense\n",
    "from keras.layers.core import Dropout\n",
    "from keras.layers.core import Activation\n",
    "from keras.layers.core import Flatten\n",
    "from keras.layers.convolutional import Conv1D\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "### Parameters for plotting model results ###\n",
    "pd.set_option(\"display.max_colwidth\",100)\n",
    "sns.set(style=\"ticks\", color_codes=True)\n",
    "plt.rcParams['font.weight'] = 'normal'\n",
    "plt.rcParams['axes.labelweight'] = 'normal'\n",
    "plt.rcParams['axes.labelpad'] = 5\n",
    "plt.rcParams['axes.linewidth']= 1.5\n",
    "plt.rcParams['xtick.labelsize']= 14\n",
    "plt.rcParams['ytick.labelsize']= 14\n",
    "plt.rcParams['xtick.major.size'] = 6\n",
    "plt.rcParams['ytick.major.size'] = 6\n",
    "plt.rcParams['xtick.minor.size'] = 3\n",
    "plt.rcParams['ytick.minor.size'] = 3\n",
    "plt.rcParams['xtick.minor.width'] = 1\n",
    "plt.rcParams['ytick.minor.width'] = 1\n",
    "plt.rcParams['xtick.major.width'] = 1.5\n",
    "plt.rcParams['ytick.major.width'] = 1.5\n",
    "plt.rcParams['xtick.color'] = 'black'\n",
    "plt.rcParams['ytick.color'] = 'black'\n",
    "plt.rcParams['axes.labelcolor'] = 'black'\n",
    "plt.rcParams['axes.edgecolor'] = 'black'\n",
    "\n",
    "\n",
    "def poly_profile_model(x, y, border_mode='same', inp_len=50, nodes=1, layers=1, filter_len=8, nbr_filters=40,\n",
    "                dropout1=0, dropout2=0, dropout3=0, nb_epoch=3):\n",
    "    model = Sequential()\n",
    "    if layers >= 1:\n",
    "        model.add(Conv1D(activation=\"relu\", input_shape=(inp_len, 4), padding=border_mode, filters=nbr_filters, kernel_size=filter_len))\n",
    "    if layers >= 2:\n",
    "        model.add(Conv1D(activation=\"relu\", input_shape=(inp_len, 1), padding=border_mode, filters=nbr_filters, kernel_size=filter_len))\n",
    "        model.add(Dropout(dropout1))\n",
    "    if layers >= 3:\n",
    "        model.add(Conv1D(activation=\"relu\", input_shape=(inp_len, 1), padding=border_mode, filters=nbr_filters, kernel_size=filter_len))\n",
    "        model.add(Dropout(dropout2))\n",
    "    model.add(Flatten())\n",
    "\n",
    "    model.add(Dense(nodes))\n",
    "    model.add(Activation('relu'))\n",
    "    model.add(Dropout(dropout3))\n",
    "    \n",
    "    model.add(Dense(y.shape[1]))\n",
    "    model.add(Activation('linear'))\n",
    "\n",
    "    #compile the model\n",
    "    adam = keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)\n",
    "    model.compile(loss='mean_squared_error', optimizer=adam, )\n",
    "\n",
    "    model.fit(x, y, batch_size=128, epochs=nb_epoch, verbose=1)\n",
    "    return model\n",
    "\n",
    "def one_hot_encode(df, col='utr', seq_len=50):\n",
    "    # Dictionary returning one-hot encoding of nucleotides. \n",
    "    nuc_d = {'a':[1,0,0,0],'c':[0,1,0,0],'g':[0,0,1,0],'t':[0,0,0,1], 'n':[0,0,0,0]}\n",
    "    \n",
    "    # Creat empty matrix.\n",
    "    vectors=np.empty([len(df),seq_len,4])\n",
    "    \n",
    "    # Iterate through UTRs and one-hot encode\n",
    "    for i,seq in enumerate(df[col].str[:seq_len]): \n",
    "        seq = seq.lower()\n",
    "        a = np.array([nuc_d[x] for x in seq])\n",
    "        vectors[i] = a\n",
    "    return vectors\n",
    "\n",
    "def r2(x,y):\n",
    "    slope, intercept, r_value, p_value, std_err = stats.linregress(x,y)\n",
    "    return r_value**2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Load data, make a train and test set based on total reads per UTR\n",
    "The test set contains UTRs with the highest overall sequencing reads with the idea that increased reads will improve the resolution and a more accurate measure of mean ribosome load."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('../data/egfp_unmod_1.csv')\n",
    "df.sort_values('total_reads', inplace=True, ascending=False)\n",
    "df.reset_index(inplace=True, drop=True)\n",
    "df = df.iloc[:280000]\n",
    "\n",
    "# The training set has 260k UTRs and the test set has 20k UTRs.\n",
    "e_test = df[:20000]\n",
    "e_train = df[20000:]\n",
    "\n",
    "seq_e_train = one_hot_encode(e_train,seq_len=50)\n",
    "seq_e_test = one_hot_encode(e_test, seq_len=50)\n",
    "\n",
    "rfractions = ['r' + str(x) for x in range(14)]\n",
    "# Convert e_train into a matrix with relative polysome abundance for each UTR.\n",
    "e_train = e_train[rfractions].values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "__________________"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Train model\n",
    "Using the hyperparameter-optimised values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/4\n",
      "260000/260000 [==============================] - 30s 114us/step - loss: 8.9571e-04\n",
      "Epoch 2/4\n",
      "260000/260000 [==============================] - 23s 87us/step - loss: 5.6542e-04\n",
      "Epoch 3/4\n",
      "260000/260000 [==============================] - 23s 87us/step - loss: 5.2695e-04\n",
      "Epoch 4/4\n",
      "260000/260000 [==============================] - 23s 87us/step - loss: 5.1139e-04\n"
     ]
    }
   ],
   "source": [
    "model = poly_profile_model(seq_e_train, e_train, nb_epoch=4,border_mode='same',\n",
    "                   inp_len=50, nodes=80, layers=3, nbr_filters=120, filter_len=8, dropout1=0,\n",
    "                   dropout2=0,dropout3=0.1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Evaluate model. Return predicted mean ribosome load in 'predictions'. Plot r-squared of each fraction."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg4AAAFyCAYAAACds1IeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3XtYVNX+BvB3GK6KogYO4wUYtaMo\nGjiIAoq3BPGWVgZeQOqIGqUoaRpeS0orf5ShA6mVacektLSM1MEripoik/fOsTRUYApFxCsy7N8f\nHuc4MugeZJhR3s/z8DzOWmvv79oCMy971uwtEQRBABEREZEINpaeABERET0+GByIiIhINAYHIiIi\nEo3BgYiIiERjcCAiIiLRGByIiIhINAYHIiIiEo3BgYiIiESziuCwe/duDBkyBM2bN4dEIsHKlSsf\nus3Ro0fRs2dPODk5oXnz5njnnXfAa1kRERGZl1UEh6tXr8LHxweLFy+Gk5PTQ8dfuXIF/fr1g0wm\nw8GDB7F48WJ8+OGHSE5OroXZEhER1V0Sa7vktLOzM5YsWYKYmJgqx6SmpmL69OnQarX6oJGUlITU\n1FScP38eEomklmZLRERUt9haegLVsW/fPvTo0cPg7ERYWBhmz56Ns2fPQqFQVLltr169KrUdOnQI\njRo1Qps2bcwxXSIiIqtz+vRpuLm5ITc316TtrOKtClMVFhZCJpMZtN19XFhYaPL+bt++jatXr9bI\n3IiIiB4HV69exd9//23ydo/lGYdHsXPnzkptd89CGOsjIiJ6Ehk7Ay/GY3nGwd3dHVqt1qDt7mN3\nd3dLTImIiKhOeCyDQ2BgILKysnDz5k19m1qtRrNmzeDl5WW5iRERET3hrCI4XL16FRqNBhqNBhUV\nFcjLy4NGo0FeXh4A4K233kLfvn3140eOHIl69eohJiYGx44dw3fffYeFCxciISGBn6ggIiIyI6sI\nDocOHYKfnx/8/Pxw48YNzJ07F35+fpgzZw4AoKCgAL///rt+vIuLC9RqNfLz8+Hv74/XXnsNb7zx\nBhISEix1CERERHWC1V3HwRK4OJKIiOqa6r72WcUZByIiIno8MDgQERGRaAwOREREJBqDAxEREYnG\n4EBERESiMTgQEVGdFBUVhY4dO8LPzw9du3bF66+/jr/++kvf//333+P5559H586dERISgg8++ADl\n5eWi93/+/HlERUXhmWeeQf/+/ZGdnV3l2MuXL2Py5Mno2rUrunbtijfeeMPgHkpRUVHo1q0bOnfu\njCFDhiAzM1Pfd+DAAbRr105/WQM/Pz98//33Jv5viMfgQEREddacOXOQm5sLtVqN69ev4/3339f3\n3bhxA4mJidi/fz++/fZb7N+/H59//rnofb/xxhto3749Dhw4gClTpmDSpEm4dOmS0bEff/wxrly5\ngm3btiEzMxMXL15ESkqKvn/mzJnYs2cPDh8+jPnz52PatGkGIadp06bIzc3Vfw0bNqwa/xviMDgQ\nEZFZ9enTBytWrMDgwYPh6+uLxMREFBUVYezYsfDz80NMTAxKSkr04zUaDSIjI+Hv748hQ4bgwIED\n+r7169cjPDwcfn5+6Nu3L9auXavvO3DgAEJCQvD5558jMDAQ3bt3x/r160XNsWHDhujbty9OnTql\nbxs5ciT8/f1hb28PmUyGwYMH4/Dhw6L2d+bMGRw/fhwTJ06Eo6MjwsLC8I9//ANbtmwxOv78+fPo\n27cvnJ2d0aBBA/Tr1w+nT5/W97dr1w62tnfuSymRSFBeXl6tu0HXBAYHIiIyu61bt+KLL77Ali1b\nsGPHDsTGxiIhIQH79+9HRUUFVq9eDeDODQvHjx+PV199Fb/88gumT59u8Jf6U089hU8//RSHDx/G\nggULsGDBAhw/flxfp6ioCKWlpdi9ezfeffddvPPOOwahpCrFxcVQq9Xw8PCocszBgwfRpk0b/eN5\n8+Zh3rx5RseePn0aLVu2hLOzs76tXbt2BmHgXqNGjcLOnTtRUlKCkpISbNmyBT169DAYM378eHTs\n2BHDhw9HQEAAfHx89H2XLl1CUFAQ+vTpg/feew/Xr19/6DFXF4MDERGZ3ejRo+Hq6gqZTAZ/f390\n6tQJ7du3h4ODA/r164cTJ04AADZu3IiQkBD07NkTNjY2CA4Oho+PD3bt2gXgztUOPTw8IJFIEBAQ\ngODgYBw6dEhfx9bWFq+99hrs7OzQs2dP1KtXD2fOnKlyXklJSVAqlejWrRuKi4sxe/Zso+PWrVuH\nY8eO4ZVXXtG3PSg4XLt2DQ0aNDBoa9CgAa5du2Z0fPv27XH79m39GgepVIqRI0cajLkbmJYtW4bu\n3bvDxubOS3irVq2wYcMG7NmzB19++SWOHz+OhQsXVnnMj4rBgYiIzM7V1VX/bwcHB4PHjo6O+r+Q\n8/PzsXnzZvj7++u/cnJy8PfffwMAdu3ahZdeegkBAQHw9/fH7t27UVxcrN9Xo0aN9Kf0AcDJyemB\nf33PmjULOTk5+OGHH3DlyhWjp/8zMzORnJyM5cuXo0mTJqKOt379+gaLG4E7N3SsX7++0fGTJ0+G\nl5cXDh8+jJycHLRs2RLTpk2rNO5uINqzZw+2bdsGAHBzc0ObNm1gY2Oj366qt0RqAoMDERFZDblc\njueeew6HDh3Sf2k0GowbNw5lZWWYNGkSXnnlFezduxeHDh1CSEgIauKWS23btsWrr76Kd955x2B/\nu3fvxqxZs5CWloa2bduK3l+bNm1w7tw5g/Bw6tQpg7c67nXq1ClERkaiXr16qF+/PkaMGIHdu3dX\nuX+dTodz584Z7ZNIJDXyf1IVBgciIrIaQ4YMwY4dO5CVlQWdTodbt27hwIEDKCwsRFlZGcrKytCk\nSRPY2tpi165d2Lt3b43VHjp0KIqKivR/ye/btw/Tpk1DSkoKOnXqZNK+FAoFvL29sXTpUty6dQtq\ntRq//fYbwsLCjI738fHBt99+i5s3b+LmzZtIT0/XB5Xff/8du3btws2bN3H79m1s3LgRhw4dQpcu\nXQAA+/fvx4ULFyAIAgoKCrBo0SL07dv3Ef4nHozBgYiIrIZcLodKpcKnn36KwMBA9OzZE5999hkq\nKirg7OyMWbNmYfLkyejSpQs2bdqEPn361Fhte3t7REdHQ6VSAQBUKhVKS0sxbtw4/fURxo4dqx8/\nZ84czJkzp8r9JScn49ixY+jSpQsWLVqETz75RP9Wxw8//ICBAwfqx7733nu4cOECevbsiZCQEJw7\nd85gncKSJUsQGBiIwMBArFq1Ch999BE6dOgAADh58iQiIyPh6+uLyMhItG3bFjNnzqyx/5f78bba\n4G21iYio7uFttYmIiMjsGByIiIhINNuHDyEienLdXD0fuj9PmrWG1NMbjlHGrw9A9LhhcCAiq2Hu\nF3FjL+C6P09C95/9kDQwz3IvoVRilv0SWYrVBAeVSoUPP/wQBQUF6NChAz7++ONKl9u819KlS7Fk\nyRKcPXsWHh4emDlzJqKjo2txxkRU08z5Iv6gF3BJAwEOXW7XeE0AuHXQziz7JbIUqwgO6enpiI+P\nh0qlQvfu3aFSqRAeHo4TJ04YvW54amoqpk+fjuXLl6Nr16745ZdfEBsbi8aNG2Pw4MEWOAIiqinm\nehHnCzhRzbCKxZHJycmIiYlBbGwsvL29kZKSArlcjtTUVKPjV69ejdjYWIwYMQKtWrVCZGQkxo0b\nZ3A7VCIiIqp5Fj/jUFZWhpycHEydOtWgPTQ0FNnZ2Ua3uXXrFhwdHQ3anJyc8Msvv+D27duws6v6\nL4u7n1u9l0ajga+vr+mTJyKqJi7KpMeVxYNDUVERdDodZDKZQbtMJkNmZqbRbcLCwvDZZ5/h+eef\n198AZcWKFbh9+zaKioogl8trY+p1Hp/4iKqPizLpcWXx4FAds2fPRmFhIYKCgiAIAmQyGcaMGYMP\nPvhAf5vRqhi7QpaxsxD0cHziI3o0XJRJjyOLBwdXV1dIpVJotVqDdq1WC3d3d6PbODk54fPPP8en\nn34KrVYLuVyOZcuWoUGDBnBzc6uNaVsVS/7lzyc+IqK6xeLBwd7eHkqlEmq1GsOHD9e3q9VqvPDC\nCw/c1s7ODi1atAAArF27FoMGDXroGYcnEf/yJyKi2mLx4AAACQkJiIqKQkBAAIKDg5GWlob8/HxM\nmDABAPTXZ1i1ahUA4N///jcOHDiAbt26obi4WH8Hsi+//NJix2Bp/MufiIhqg1UEh4iICFy8eBFJ\nSUkoKCiAj48PMjIy4OnpCQDIy8szGK/T6ZCcnIzffvsNdnZ26N27N7Kzs+Hl5WWB2RMREdUdVhEc\nACAuLg5xcXFG++5f0Ojt7Y3c3NxamBUR0ZPFUmuiLHE5cTIPqwkORERkfpZaE2Wpy4lTzWNwqEG8\nrgERPQ4stSaKlxN/MjA41CB+uoGIiJ50DA41jJ9uICKiJ1ndu+gBERERVRvPOBAR0ROJ687Mg8GB\niIieSFx3Zh4MDkRE9MTiurOaxzUOREREJBqDAxEREYnGtyroscNL15ofF5URUVUYHP7r+PHjePHF\nFw3aBg0ahJiYGNy4cQNRUVGVthk+fDgiIiJw6dIljBs3Dro/T0Aouw0bzZ2FOKO7AoM6SZB/WUDC\nt5Vrju0OPOstwe9/C5i5oXL/672B7m0kOJEv4J2fgIrS25DYayDV3Jnn9OnT0aVLFxwuLMH/Zf2v\n7l1zBgLtm0mw57SAJTsq7//doUBrNwkyTwpYsadyf/JwoFkjCTLO67D2wP/q3vVRWwkaAViXI2Dd\n4crbfzEGcLKXYPV+AT8drdy/NvbOwqJlWQK2nzLsc7QDPu3w3zoffYS9e/fq+3R/noDL7VKkdL/z\n4/t/x8uhuWR47O5OEnzof6f/vSPlOFli2O/lLMF8vzv9s3PLcfbqf/vLAUk9DTr+5zbeeecdAMDE\niRNRUFBgsL1SqcRbb70FAIiNjUVxcbFBf3BwMKZMmQIAGD16NG7evGnQ/+yzz+rv/nr/zx1g+s/e\n/aKiovDcc8/hwoULiI+Pr9Q/btw4hIaG4vTp05gxY0blftdr6HbjN5zS6fDeUV2l/intpej8lA0O\nX6zARycq9yd2lMK7kQ2y/6pA6m+V+99+2hZtAGzduhXLli3Tt9/9Hfr4aQHNGkmw6YiArw5U2hyq\nkUCT+hKTfvbu/f1Zt24dACAtLQ1bNmoMfm8d7YCVMXd+Nj/ZLiD7d8N9N64HpI660//BFgGHDe/B\nB3cX4OOX7vS/s0nAsX8b/t62atUKH3zwAYA7P3t59/3etpcDcwbd2X7yNwIKSwz339kDeDPsTv+r\n/xJQfN2wP6g1MKnPnf5/bjqC8vt+b0Ogxcvud/4dubzyosGBHYGobhLcKBPwspEbDr/YGXhRKcGl\nawLi1lTuj3DVYZA7Kv3s3f3ejnMWTHreu9+0UEDpKUHOnwI+3Hqn7d7v7bx58+Dj44Pdu3fjo/u+\nt4D45z0xP3vfZBl+bwFg9erVcHJywsqVK7Fp06ZK29/7s5eZmWnQ5+joiK+++gpA5ec9AGjcuDGW\nL18OAFiwYAFycnIM+uVyOVJSUgAAc+bMwYkTJwz67/3Ze/PNN3H8+HF06NCh8kE+BIMDPZ7s/rfg\nyfaSAJv71j7ZuPyvX6oVYFNh2C91vaf/vACb/y6Orqijq6SNkTQQYN+8HDZnK/fZe5fDwVMC+z8F\n2Jwz0t+hHA7NJLA7LcAm38jO69f0bImotkgEQTDP51QeI7169QJQ+S6cprqWNBIVhfvMuoLXxj0Q\n9WcZxnzWNX/NuqYufW+fxGOta3Wt7VgfF9V97ePiSCIiIhKNwYGIiIhEY3AgIiIi0RgciIiISDSr\nCQ4qlQoKhQKOjo5QKpXIysp64Pg1a9bA19cX9erVg7u7O0aPHo3CwsJami0REVHdZBXBIT09HfHx\n8UhMTERubi6CgoIQHh6OvLw8o+P37t2LqKgojBkzBsePH8eGDRtw4sQJjBo1qpZnTkREVLdYRXBI\nTk5GTEwMYmNj4e3tjZSUFMjlcqSmphodv2/fPrRo0QJTpkyBQqFAt27dMHHiRBw4YORqHURERFRj\nLB4cysrKkJOTg9DQUIP20NBQZGdnG90mODgYBQUF+PHHHyEIAoqKirB27VoMGDCgNqZMRERUZ1n8\nypFFRUXQ6XSQyWQG7TKZrNLlOO8KDAzE2rVrMWrUKNy4cQPl5eXo168fvvzSyPVR73P3ghf30mg0\n8PX1rdb8iYiI6hKLn3GojhMnTmDixImYPXs2cnJysHnzZhQWFmL8+PGWnhoREdETzeJnHFxdXSGV\nSqHVag3atVot3N3djW6zYMECBAQEYNq0aQCATp06oX79+ujRowfee+89tGjRosp6xi6taewsBBER\nEVVm8TMO9vb2UCqVUKvVBu1qtRpBQUFGt7l+/TqkUqlB293HFRUVxjYhIiKiGmDxMw4AkJCQgKio\nKAQEBCA4OBhpaWnIz8/X33Y4OjoaALBq1SoAwODBgxEbG4vU1FSEhYWhoKAAkydPRufOneHh4WGx\n4yAiInrSWUVwiIiIwMWLF5GUlISCggL4+PggIyMDnp6eAFDpeg4xMTEoLS3FkiVL8MYbb8DFxQV9\n+vTB+++/b4npExER1RlWERwAIC4uDnFxcUb7jK1LmDhxIiZOnGjmWREREdG9LL7GgYiIiB4fDA5E\nREQkGoMDERERicbgQERERKIxOBAREZFoDA5EREQkGoMDERERicbgQERERKIxOBAREZFoDA5EREQk\nmtVccpqIiOhJcHP1fOj+PGnWGlJPbzhGzTZrjaowOBAREdUg3Z8nofvPfkgaCGbZv1AqMct+xWJw\nICIiqmGSBgIcutw2y75vHbQzy37F4hoHIiIiEo3BgYiIiERjcCAiIiLRGByIiIhINAYHIiIiEo3B\ngYiIiESzmuCgUqmgUCjg6OgIpVKJrKysKsfGxMRAIpFU+qpfv34tzpiIiKjusYrgkJ6ejvj4eCQm\nJiI3NxdBQUEIDw9HXl6e0fGLFy9GQUGBwVerVq3w0ksv1fLMiYiI6harCA7JycmIiYlBbGwsvL29\nkZKSArlcjtTUVKPjXVxc4O7urv/6/fff8ccffyA2NraWZ05ERFS3WDw4lJWVIScnB6GhoQbtoaGh\nyM7OFrWP5cuXo0OHDggKCjLHFImIiOi/LH7J6aKiIuh0OshkMoN2mUyGzMzMh25fUlKCb775BgsW\nLBBVr1evXpXaNBoNfH19RW1PRERUl1n8jMOj+uqrr1BRUYGoqChLT4WIiOiJZ/EzDq6urpBKpdBq\ntQbtWq0W7u7uD91++fLleOGFF9CkSRNR9Xbu3FmpzdhZCCIiIqrM4mcc7O3toVQqoVarDdrVavVD\n1yz88ssv+PXXX7kokoiIqJZY/IwDACQkJCAqKgoBAQEIDg5GWloa8vPzMWHCBABAdHQ0AGDVqlUG\n2y1btgxPP/00zxgQERHVEqsIDhEREbh48SKSkpJQUFAAHx8fZGRkwNPTEwCMXs+htLQUa9euxZw5\nc2p7ukRERHWWVQQHAIiLi0NcXJzRPmPrEho0aICrV6+aeVZERER0L4uvcSAiIqLHB4MDERERicbg\nQERERKIxOBAREZFoVrM4ksia3Vw9H7o/T5q1htTTG45Rs81ag4joUTE4EImg+/MkdP/ZD0kDwSz7\nF0olZtkvEVFNY3AgEknSQIBDl9tm2fetg3Zm2S8RUU17aHCwsbGBRGL6X0MSiQTl5eXVmhQRERFZ\np4cGh5CQkErBobi4GEeOHIGNjQ1atmwJd3d3FBYW4ty5c6ioqECnTp3QuHFjs02aiIiILOOhweH+\nqzYWFBQgKCgIzz//PD788EMoFAp935kzZzB16lTk5uZi8+bNNT5ZIiIisiyTP445ffp0NG7cGOvW\nrTMIDQCgUCiwbt06uLi4YPr06TU2SSIiIrIOJgeHLVu2ICwsrMp+iUSCsLAwnnEgIiJ6ApkcHEpL\nS1FSUvLAMSUlJSgtLa32pIiIiMg6mRwcvL29kZ6ejnPnzhnt//PPP5Geno727ds/8uSIiIjIuph8\nHYdp06Zh5MiR8PPzw6RJkxASEgKZTAatVotdu3YhJSUFJSUlmDZtmjnmS0RERBZkcnCIjIxEQUEB\nZsyYgbffftugTxAE2NnZYdGiRYiIiKixSRIREZF1qNaVI6dMmYLnn38eX331FXJzc1FSUgIXFxd0\n7twZo0aNgqenZ03Pk6hO4j0yiMjaVPuS056enpg5c2ZNzoWI7sN7ZBCRteG9KoisHO+RQUTWxORP\nVQBARUUFUlJS0K1bN7i4uMDW9n/5Izc3F3Fxcfj3v/9t0j5VKhUUCgUcHR2hVCqRlZX1wPFlZWWY\nM2cOFAoFHBwc4OHhgU8++aQ6h0NEREQimXzGoaysDOHh4di5cyeaNGmCBg0a4OrVq/p+hUKBzz//\nHG5ubpUWT1YlPT0d8fHxUKlU6N69O1QqFcLDw3HixAl4eHgY3SYyMhLnz5/HsmXL8PTTT0Or1eLG\njRumHg4RERGZwOQzDh9++CF27NiBuXPnQqvVYuzYsQb9jRo1QkhICLZs2SJ6n8nJyYiJiUFsbCy8\nvb2RkpICuVyO1NRUo+O3bt2Kbdu2ISMjA/369YOXlxe6du2KXr16mXo4REREZAKTg8O//vUvBAcH\nY86cOVXecluhUCAvL0/U/srKypCTk4PQ0FCD9tDQUGRnZxvdZsOGDejSpQuSk5PRokULPP3005g0\naZLBmY+q9OrVq9KXRqMRNVciIqK6zuS3Ks6cOYOBAwc+cEyTJk1w6dIlUfsrKiqCTqeDTCYzaJfJ\nZMjMzDS6zR9//IE9e/bAwcEB69evx+XLlzFx4kTk5+dj3bp14g6EiIiITGZycHB0dMTly5cfOCYv\nLw+NGjWq9qQepqKiAhKJBGvWrIGLiwsAYMmSJQgLC4NWq60UQu51/23CAfAtDiIiIpFMfqvC19cX\nW7duRVlZmdH+kpISbNmyBQEBAaL25+rqCqlUCq1Wa9Cu1Wrh7u5udBu5XI7mzZvrQwNw5x4aAES/\nRUJERESmMzk4jBs3DufOncOoUaNw5coVg77Lly8jJiYGxcXFmDBhgqj92dvbQ6lUQq1WG7Sr1WoE\nBQUZ3SY4OBj5+fkGaxrufvyTV60kIiIyH5ODw4gRIxATE4P169fDzc1N/8kHf39/yOVybNy4EXFx\ncRgwYIDofSYkJGDlypVYsWIFTp48ifj4eOTn5+vDR3R0NKKjo/XjR44ciaeeegovv/wyjh8/jr17\n9yI+Ph4vvvgimjZtauohERERkUjVunLk559/jpCQECxevBhHjhyBIAg4fPgwOnTogISEBLz88ssm\n7S8iIgIXL15EUlISCgoK4OPjg4yMDP3Zg/vffnB2dkZmZiYmTpyILl26oHHjxhg6dCgWLlxYncMh\nIiIikap9yemYmBjExMTgxo0bKC4uhouLC+rXr1/ticTFxSEuLs5on7EFjW3btsXWrVurXY+IiIhM\nZ/JbFa+88go++ugj/WMnJyc0a9bskUIDERERPR5MDg5r1qzBX3/9ZY65EBERkZUzOTh4eXkxOBAR\nEdVRJgeHkSNH4ueff0ZxcbE55kNERERWzOTg8NZbb8Hf3x+9e/fGpk2bKl24iYiIiJ5c1brkNAAI\ngoDnnnuuynESiQTl5eXVnxkRERFZHZODQ48ePYzeEZOIiIiefCYHB2PXVCAiIqK6weQ1DkRERFR3\nMTgQERGRaNW+5HRBQQG2bduGCxcu4NatW5X6JRIJZs+e/UiTIyIiIutSreAwd+5cLFy40OBTE4Ig\n6BdN3v03gwMREdGTxeS3Kv71r39h/vz56NGjB9atWwdBEDBmzBisWbMGsbGxsLGxQWRkJLZv326O\n+RIREZEFmXzGITU1FS1atMDmzZtha3tncy8vL0RGRiIyMhLDhg3DwIEDMWLEiBqfLBEREVmWyWcc\njh49igEDBuhDAwDodDr9v8PCwhAWFoYPP/ywZmZIREREVsPk4HD79m089dRT+sdOTk4oKSkxGOPj\n44Nff/310WdHREREVsXk4CCXy1FQUKB/7OHhgSNHjhiMyc/PNzgjQURERE8Gk4ODn58fjh07pn/c\np08fZGVlYfXq1bh27Rp++uknrFu3Dn5+fjU6USIiIrI8k4PDoEGDcOzYMZw5cwYAMGPGDLi4uCAm\nJgYNGzbEkCFDIAgCkpKSanyyREREZFkmB4eYmBhcv34dCoUCANCyZUscPHgQr776KkJDQzFu3Dgc\nPHgQ3bp1M2m/KpUKCoUCjo6OUCqVyMrKqnLszp07IZFIKn2dOnXK1MMhIiIiE9TIQgSFQoElS5ZU\ne/v09HTEx8dDpVKhe/fuUKlUCA8Px4kTJ+Dh4VHldsePH0eTJk30j93c3Ko9ByIiIno4q7hXRXJy\nMmJiYhAbGwtvb2+kpKRALpcjNTX1gds1bdoU7u7u+i+pVFpLMyYiIqqbTD7jkJeXJ3rsg84W3FVW\nVoacnBxMnTrVoD00NBTZ2dkP3Nbf3x+3bt1C+/btMWvWLPTu3fuh9Xr16lWpTaPRwNfX96HbEhER\n1XUmBwcvLy/9PSkeRCKRGNzLoipFRUXQ6XSQyWQG7TKZDJmZmUa3uXs2okuXLigrK8Pq1avRt29f\n7Nq1Cz169BB3IERERGQyk4NDdHS00eBw+fJlaDQa/Pnnn+jVqxc8PT1rZILGtG3bFm3bttU/DgwM\nxNmzZ/Hhhx8+NDjs3LmzUpuxsxBERERUmcnBYeXKlVX2VVRUYP78+UhLS8OXX34pan+urq6QSqXQ\narUG7VqtFu7u7qLn1bVrV6xdu1b0eCIiIjJdjS6OtLGxwdy5c+Hl5YUZM2aI2sbe3h5KpRJqtdqg\nXa1WIygoSHRtjUYDuVxu0nyJiIjINGa5LnRQUBBWrVolenxCQgKioqIQEBCA4OBgpKWlIT8/HxMm\nTABw5+0RAPp9fvzxx/Dy8kKHDh1QVlaGr776Chs2bMD69etr/mCIiIhIzyzB4dKlS7h27Zro8RER\nEbh48SKSkpJQUFAAHx8fZGRk6NdJ3P9JjrKyMkybNg3nz5+Hk5MTOnTogJ9++gkDBgyo0eMgIiIi\nQzUeHDIzM5Geng4fHx+TtovNHhbpAAAgAElEQVSLi0NcXJzRvvsXNL755pt48803qztFIiIiqiaT\ng0OfPn2MtpeXl+PcuXP6swNz5sx5tJkRERGR1TE5OBj7OCNw57oNjRs3RlhYGKZOnVplwCAiIqLH\nl8nBoaKiwhzzICIioseAVdyrgoiIiB4PDA5EREQkmslvVZhyfYb73b0eAxERET2eTA4OMTExom5y\nJQiCftzdfzM4EBERPd5MDg5ffPEFvvvuO/z444/o2bMnevXqBXd3dxQWFmLHjh3YvXs3hgwZgmHD\nhpljvkRERGRBJgcHNzc3bN68GRs3bsTgwYMN+ubOnYuNGzfipZdewoQJE9C/f/8amygRERFZnsmL\nI999910MGzasUmi467nnnsPQoUMxf/78R54cERERWReTg8Ovv/6KNm3aPHBMmzZtcOTIkWpPioiI\niKyTycHB3t4ev/766wPH/Prrr7Czs6v2pIiIiMg6mRwc+vbti4yMDCxZsgSCIBj0CYKAlJQU/Pzz\nz3j22WdrbJJERERkHUxeHLlw4ULs2LED8fHx+Pjjj9G9e3fIZDJotVrs2bMHZ86cQZMmTbBw4UJz\nzJeIiIgsyOTg0Lp1a+zfvx9xcXHIzMzEH3/8YdDfr18/LF26FK1ataqxSRIREZF1MDk4AHcWP27d\nuhUXLlxAbm4uSkpK4OLiAj8/PzRv3rym50hERERWolrB4a7mzZszKBAREdUhjxQc7nXq1Cn8/PPP\nqFevHiIjI+Hi4lJTuyYiIiIrYfKnKt555x3I5XJcunRJ35aZmQk/Pz9MnToVcXFx6Ny5My5evFij\nEyUiIiLLMzk4/Pzzz2jXrh2aNGmib3vrrbcgkUjw9ttv49VXX8WZM2ewePFik/arUqmgUCjg6OgI\npVKJrKwsUdvt2bMHtra28PHxMakeERERmc7k4HD27Fl4e3vrH1+4cAE5OTmIi4vDrFmzsGTJEvTp\n0wcbNmwQvc/09HTEx8cjMTERubm5CAoKQnh4OPLy8h64XXFxMaKjo9G3b19TD4OIiIiqweTgUFxc\nbHC2Ye/evZBIJBg0aJC+TalUPvRF/17JycmIiYlBbGwsvL29kZKSArlcjtTU1Adu989//hNjxoxB\nYGCgqYdBRERE1VCtu2NeuHBB/3jHjh2ws7ND165d9W1lZWWoqKgQtb+ysjLk5ORg6tSpBu2hoaHI\nzs6ucjuVSgWtVotZs2aZdEOtXr16VWrTaDTw9fUVvQ8iIqK6yuTg4Ovrix9++AHHjh2Do6Mj0tPT\n0b17dzg5OenHnD17FnK5XNT+ioqKoNPpIJPJDNplMhkyMzONbnP06FG8/fbb2L9/P6RSqamHQERE\nRNVkcnB488030bt3bzzzzDP6tjfeeEP/b51Oh71796Jfv341M8P73Lp1CxEREVi0aBEUCoXJ2+/c\nubNSm7GzEERERFSZycGhR48e2LRpE5YvXw6JRIJRo0YhPDxc35+dnY3mzZtj2LBhovbn6uoKqVQK\nrVZr0K7VauHu7l5pfEFBAU6ePImXX34ZL7/8MgCgoqICgiDA1tYWGRkZCA0NNfWwiIiISIRqXQCq\nf//+6N+/v9G+Hj16IDc3V/S+7O3toVQqoVarMXz4cH27Wq3GCy+8UGl88+bNcfToUYM2lUoFtVqN\n77//Hl5eXqJrExERkWke+cqRV65cweXLl+Hh4VHtfSQkJCAqKgoBAQEIDg5GWloa8vPzMWHCBABA\ndHQ0AGDVqlWws7OrdM2Gpk2bwsHBgddyICIiMrNHDg4fffQR3nnnHeh0umrvIyIiAhcvXkRSUhIK\nCgrg4+ODjIwMeHp6AoBJH+0kIiIi86mxe1U8qri4OMTFxRntM7ag8V7z5s3DvHnzan5SREREZMDk\nC0ARERFR3cXgQERERKI9cnAQBAGCINTEXIiIiMjKPXJwmDJlCs6cOVMTcyEiIiIr98jBwcXFRf/p\nh3v9/fffj7prIiIisjI1vsahpKQEiYmJaN26dU3vmoiIiCzMpI9j/vnnn8jJyYGdnR0CAgIMbkx1\n8+ZNfPTRR1i0aBGKi4tRr169Gp8sERERWZboMw6TJk1C69atMXz4cAwdOhReXl5QqVQA7lxnoW3b\ntpg1axauX7+O+Ph4/PHHH2abNBEREVmGqDMOX375JZYsWQIbGxt4e3sDAE6dOoVJkyahfv36GD9+\nPHQ6HcaPH49Zs2ahWbNmZp00ERERWYao4LBy5UrY29tjx44dCAwMBADs3r0b/fr1wz//+U+0aNEC\nP/74Izp27GjWyRIREZFliXqr4siRIxg2bJg+NABASEgIhg4dCkEQ8PnnnzM0EBER1QGigkNJSQna\ntGlTqf3pp58GAINAQURERE8uUcGhoqICdnZ2ldrvtjk5OdXsrIiIiMgqif5UhUQiMec8iIiI6DEg\n+joOD7p1tVQqrdQmkUhQXl5e7YkRERGR9REdHEy9kRVvfEVERPTkERUcKioqzD0PIiIiegzU+L0q\niIiI6MnF4EBERESiWU1wUKlUUCgUcHR0hFKpRFZWVpVjd+3ahaCgIDz11FNwcnJCu3btsGjRolqc\nLRERUd1k0t0xzSU9PR3x8fFQqVTo3r07VCoVwsPDceLECXh4eFQa7+zsjEmTJqFjx46oV68e9u7d\ni/Hjx6NevXqIi4uzwBEQERHVDVZxxiE5ORkxMTGIjY2Ft7c3UlJSIJfLkZqaanS8UqlEZGQkOnTo\nAIVCgdGjRyMsLOyBZymIiIjo0Vn8jENZWRlycnIwdepUg/bQ0FBkZ2eL2kdubi6ys7OrvM7EvXr1\n6lWpTaPRwNfXV1QtIiKiusziZxyKioqg0+kgk8kM2mUyGQoLCx+4bYsWLeDg4AB/f3/ExcVhwoQJ\n5pwqERFRnWfxMw6PIisrC1evXsX+/fsxffp0KBQKREVFPXCbnTt3VmozdhaCiIiIKrN4cHB1dYVU\nKoVWqzVo12q1cHd3f+C2CoUCANCxY0dotVrMmzfvocGBiIiIqs/ib1XY29tDqVRCrVYbtKvVagQF\nBYneT0VFBW7dulXT0yMiIqJ7WPyMAwAkJCQgKioKAQEBCA4ORlpaGvLz8/VrFqKjowEAq1atAgCk\npKRAoVCgbdu2AIDdu3dj0aJF/CgmERGRmVlFcIiIiMDFixeRlJSEgoIC+Pj4ICMjA56engCAvLw8\ng/E6nQ7Tp0/H2bNnYWtri9atW2PhwoVcHElERGRmVhEcACAuLq7KMwb3L2icPHkyJk+eXAuzIiIi\nontZfI0DERERPT4YHIiIiEg0BgciIiISjcGBiIiIRGNwICIiItEYHIiIiEg0BgciIiISjcGBiIiI\nRGNwICIiItEYHIiIiEg0BgciIiISjcGBiIiIRGNwICIiItEYHIiIiEg0BgciIiISjcGBiIiIRGNw\nICIiItEYHIiIiEg0BgciIiISzWqCg0qlgkKhgKOjI5RKJbKysqoc+9133yE0NBRubm5o0KABunbt\nih9++KEWZ0tERFQ3WUVwSE9PR3x8PBITE5Gbm4ugoCCEh4cjLy/P6Phdu3ahT58++Omnn5Cbm4sB\nAwZg2LBhDwwbRERE9OisIjgkJycjJiYGsbGx8Pb2RkpKCuRyOVJTU42OX7x4MWbMmIGAgAC0adMG\nc+fOhVKpxIYNG2p55kRERHWLraUnUFZWhpycHEydOtWgPTQ0FNnZ2aL3U1paisaNGz90XK9evSq1\naTQa+Pr6iq5FRERUV1n8jENRURF0Oh1kMplBu0wmQ2Fhoah9LF26FOfPn0dUVJQ5pkhERET/ZfEz\nDo9q/fr1mDZtGtLT0+Hp6fnQ8Tt37qzUZuwsBBEREVVm8TMOrq6ukEql0Gq1Bu1arRbu7u4P3Hbd\nunWIiorCqlWrMHjwYHNOk4iIiGAFwcHe3h5KpRJqtdqgXa1WIygoqMrtvvnmG0RFRWHlypV48cUX\nzT1NIiIigpW8VZGQkICoqCgEBAQgODgYaWlpyM/Px4QJEwAA0dHRAIBVq1YBANauXYuoqCgsWrQI\nISEh+rUQ9vb2aNKkiWUOgoiIqA6wiuAQERGBixcvIikpCQUFBfDx8UFGRoZ+zcL913NIS0tDeXk5\nJk+ejMmTJ+vbe/bsaXQNAxEREdUMqwgOABAXF4e4uDijffeHAYYDIiIiy7D4GgciIiJ6fDA4EBER\nkWgMDkRERCQagwMRERGJxuBAREREojE4EBERkWgMDkRERCQagwMRERGJxuBAREREojE4EBERkWgM\nDkRERCQagwMRERGJxuBAREREojE4EBERkWgMDkRERCQagwMRERGJxuBAREREojE4EBERkWgMDkRE\nRCSa1QQHlUoFhUIBR0dHKJVKZGVlVTm2oKAAI0eORLt27SCVShETE1N7EyUiIqrDrCI4pKenIz4+\nHomJicjNzUVQUBDCw8ORl5dndPytW7fg6uqKGTNmoGvXrrU8WyIiorrLKoJDcnIyYmJiEBsbC29v\nb6SkpEAulyM1NdXoeC8vL3zyySeIiYlBkyZNanm2REREdZetpSdQVlaGnJwcTJ061aA9NDQU2dnZ\nNV6vV69eldo0Gg18fX1rvBYREdGTxuJnHIqKiqDT6SCTyQzaZTIZCgsLLTQrIiIiMsbiZxxq286d\nOyu1GTsLQURERJVZ/IyDq6srpFIptFqtQbtWq4W7u7uFZkVERETGWDw42NvbQ6lUQq1WG7Sr1WoE\nBQVZaFZERERkjFW8VZGQkICoqCgEBAQgODgYaWlpyM/Px4QJEwAA0dHRAIBVq1bpt9FoNACAK1eu\nwMbGBhqNBvb29mjfvn3tHwAREVEdYRXBISIiAhcvXkRSUhIKCgrg4+ODjIwMeHp6AoDR6zn4+fkZ\nPP7xxx/h6emJs2fP1saUiYiI6iSrCA4AEBcXh7i4OKN9xhY0CoJg5hkRERHR/Sy+xoGIiIgeHwwO\nREREJBqDAxEREYnG4EBERESiMTgQERGRaAwOREREJBqDAxEREYnG4EBERESiMTgQERGRaAwORERE\nJBqDAxEREYnG4EBERESiMTgQERGRaAwOREREJBqDAxEREYnG4EBERESiMTgQERGRaAwOREREJBqD\nAxEREYlmNcFBpVJBoVDA0dERSqUSWVlZDxy/a9cuKJVKODo6olWrVkhLS6ulmRIREdVdVhEc0tPT\nER8fj8TEROTm5iIoKAjh4eHIy8szOv7MmTMYMGAAgoKCkJubi7feegsTJ07E+vXra3nmREREdYtV\nBIfk5GTExMQgNjYW3t7eSElJgVwuR2pqqtHxaWlpaNasGVJSUuDt7Y3Y2FiMGTMGixYtquWZExER\n1S0SQRAES06grKwM9erVw9dff43hw4fr21977TUcO3YMu3btqrRNSEgIOnbsiKVLl+rbvv32W4wc\nORLXr1+HnZ1dlfV69epVqW3fvn1wcnKCr6/vIx2L7s+TwI0rgNRM/6U6CeDUEFJPb9Y1V926dKx1\nrW5dOta6VrcuHesD6ppKo9HA2dkZ58+fN2k720eqWgOKioqg0+kgk8kM2mUyGTIzM41uU1hYiGef\nfbbS+PLychQVFUEul5s0Bzs7Ozg7O5s2cSNM/SZqNBoAeOTAwrrWVZN1H6+6delY61rdunSs1eHs\n7Aw3NzeTt7N4cKhtO3futPQU9O6e/ajtOdWlunXpWFn3ya3Juk9uTUvWrS6Lr3FwdXWFVCqFVqs1\naNdqtXB3dze6jbu7u9Hxtra2cHV1NdtciYiI6jqLBwd7e3solUqo1WqDdrVajaCgIKPbBAYGGh3v\n7+//wPUNRERE9GgsHhwAICEhAStXrsSKFStw8uRJxMfHIz8/HxMmTAAAREdHIzo6Wj9+woQJuHDh\nAiZPnoyTJ09ixYoVWLlyJaZOnWqpQyAiIqoTrGKNQ0REBC5evIikpCQUFBTAx8cHGRkZ8PT0BIBK\n13NQKBTIyMjAlClTkJqaimbNmuGTTz7BCy+8YInpExER1RkW/zgmERERPT6s4q0KIiIiejwwOBAR\nEZFoDA5EREQkGoMDERERicbgQERERKIxOBAREZFoDA5EREQkGoODBalUKigUCjg6OkKpVCIrK8us\n9Xbv3o0hQ4agefPmkEgkWLlypVnrAcCCBQvQpUsXNGzYEG5ubhg8eDCOHTtm9rpLly5Fp06d0LBh\nQzRs2BCBgYH46aefzF73XgsWLIBEIsHrr79u9lrz5s2DRCIx+KrqXi81qaCgAGPGjIGbmxscHR3R\nvn177Nq1y6w1vby8Kh2rRCLBwIEDzVpXp9Nh9uzZ+t9ZhUKBWbNmoby83Kx1S0tLMXnyZHh6esLJ\nyQlBQUE4ePBgjdd52PODIAiYN28emjVrBicnJ/Tq1QvHjx83a83vvvsOYWFhcHNzg0QiqbGbQD2o\n7u3btzF9+nR06tQJ9evXh1wux8iRIytdiLCm6wLA7Nmz0a5dO9SvXx+NGzdG3759kZ2d/ch1axqD\ng4Wkp6cjPj4eiYmJyM3NRVBQEMLDw2vkh7MqV69ehY+PDxYvXgwnJyez1bnXzp07ERcXh+zsbGzf\nvh22trZ49tlncenSJbPWbdGiBd5//30cPnwYhw4dQp8+fTB06FAcOXLErHXv2r9/P5YtW4ZOnTrV\nSj0AaNu2LQoKCvRfR48eNWu9y5cvIzg4GIIg4KeffsLJkyeRkpKCpk2bmrXuwYMHDY7z8OHDkEgk\neOmll8xa9/3338fSpUvxySef4NSpU1i8eDGWLl2KBQsWmLXu2LFjsWXLFnz55Zc4evQoQkND8eyz\nz+LChQs1Wudhzw8ffPAB/u///g8pKSk4ePAgmjZtin79+qG0tNRsNa9du4agoCAkJydXu4apda9f\nv47Dhw9j5syZOHz4MDZu3Ihz586hf//+jxwSH3a8bdu2xdKlS3H06FHs2bMHCoUC/fv3r3RTR4sT\nyCICAgKEsWPHGrS1adNGmDFjRq3Ur1+/vvDFF1/USq17lZaWCjY2NsIPP/xQ67UbN24spKWlmb3O\n5cuXhVatWgnbt28XevbsKbz22mtmrzl37lyhQ4cOZq9zr7feeksICgqq1ZrGJCUlCS4uLsL169fN\nWmfgwIFCdHS0QVt0dLQwcOBAs9W8fv26IJVKhQ0bNhi0d+7cWZg5c6bZ6t7//FBRUSG4u7sLSUlJ\nBnNzdnausd+pBz0n/f333wIAYceOHTVSS2zdu44fPy4AEI4cOVKrdUtKSgQAwubNm2usbk3gGQcL\nKCsrQ05ODkJDQw3aQ0NDrfK0VE0qLS1FRUUFGjduXGs1dTod1q5di6tXr1Z5x9WaNG7cOLz44ovo\n3bu32Wvd648//kCzZs2gUCgQGRmJP/74w6z1NmzYgK5duyIiIgJNmzaFr68vlixZAqEWr2IvCAI+\n++wzjB492uxn0bp3744dO3bg1KlTAIATJ05g+/btGDBggNlqlpeXQ6fTwdHR0aDdyckJe/bsMVvd\n+505cwaFhYUGz1lOTk4ICQl54p+zAODKlSsAUKvPW2VlZVi2bBkaNmwIX1/fWqsrhlXc5KquKSoq\ngk6ng0wmM2iXyWTIzMy00KxqR3x8PHx9fREYGGj2WkePHkVgYCBu3rwJZ2dnfP/99+jYsaNZay5f\nvhynT5/GV199ZdY69+vatStWrlyJdu3a4a+//kJSUhKCgoJw/PhxPPXUU2ap+ccff0ClUmHKlCmY\nMWMGNBoNJk6cCAC1sq4DANRqNc6cOYPY2Fiz15o+fTpKS0vRvn17SKVSlJeXY+bMmYiLizNbzQYN\nGiAwMBBJSUnw8fGBu7s7vv76a+zbtw9t2rQxW937FRYWAoDR56yafsvE2pSVleGNN97A4MGD0aJF\nC7PX27RpEyIjI3H9+nXI5XKo1epK/++WxuBAtSYhIQF79uzBnj17IJVKzV6vbdu20Gg0KCkpwbp1\n6zBmzBjs3LkTPj4+Zqn322+/ITExEXv27IGdnZ1ZalQlPDzc4HG3bt3QqlUrfPnll0hISDBLzYqK\nCvj7++vf4/fz88N//vMfLF26tNaCw/Lly9GlSxc888wzZq+Vnp6OVatWYc2aNejQoQM0Gg3i4+Oh\nUCjwz3/+02x1V69ejVdeeQUtWrSAVCpF586dMWLECOTk5JitJt1RXl6O0aNH4/Lly/jhhx9qpWbv\n3r2h0WhQVFSE5cuX46WXXsK+ffsgl8trpb4YfKvCAlxdXSGVSisteNFqtbWyEt4SpkyZgq+//hrb\nt29Hq1ataqWmvb092rRpA6VSiQULFsDX1xcfffSR2ert27cPRUVF6NChA2xtbWFra4tdu3ZBpVLB\n1tYWt27dMlvt+zk7O6NDhw74z3/+Y7Yacrkc7du3N2jz9vY26wLfe/3111/YuHFjrZxtAIBp06Zh\n6tSpiIyMRMeOHREVFYWEhASzL45s3bo1du3ahatXr+LcuXP45ZdfcPv27Vr7PQKgf16qS89Z5eXl\nGDFiBI4cOYJt27aZ7czd/erXr482bdqgW7du+Oyzz2BnZ4cVK1bUSm2xGBwswN7eHkqlEmq12qBd\nrVbXynvwtS0+Pl4fGtq1a2exeVRUVJj1xXvo0KE4evQoNBqN/svf3x+RkZHQaDSwt7c3W+373bx5\nE6dOnTLrXynBwcH47bffDNr+/e9/w9PT02w177Vy5Uo4ODhgxIgRtVLv+vXrlc6USaVSVFRU1Er9\nux8NLC4uxpYtW/Dcc8/VSl0AUCgUcHd3N3jOunnzJrKysp7I56zbt28jIiICR44cwY4dOywajsz9\nvFUdfKvCQhISEhAVFYWAgAAEBwcjLS0N+fn5mDBhgtlqXr16FadPnwZw54cxLy8PGo0GTZo0gYeH\nh1lqvvbaa1i9ejU2bNiAxo0b698rdXZ2hrOzs1lqAsCMGTMwcOBAtGzZEqWlpVizZg127txp1ms5\nNGrUCI0aNTJoq1+/Ppo0aWK2t0fumjp1KgYPHgwPDw/89ddfmD9/Pq5du4YxY8aYreaUKVMQFBSE\nd999FxEREcjNzcUnn3yC9957z2w17xIEAStWrEBkZKRZf47uNXjwYCxcuBAKhQIdOnRAbm4ukpOT\nER0dbda6W7ZsQUVFBdq1a4fTp09j2rRpaNeuHV5++eUarfOw54fJkyfjvffeQ7t27fCPf/wDSUlJ\ncHZ2xsiRI81W89KlS8jLy8Ply5cBAKdPn0ajRo3g7u7+SC/mD6rbrFkzDB8+HAcPHsSPP/4IiUSi\nf95ycXF5pEW4D6rbqFEjfPDBBxg8eDDkcjn+/vtvLF26FOfPnzf7R41NZuFPddRpS5cuFTw9PQV7\ne3uhc+fOwq5du8xab8eOHQKASl9jxowxW01j9QAIc+fONVtNQRCEMWPGCB4eHoK9vb3g5uYm9O3b\n1yIfaaqtj2NGREQIcrlcsLOzE5o1ayY8//zzwvHjx81ed9OmTUKnTp0EBwcH4emnnxYWL14sVFRU\nmL3u9u3bBQDCgQMHzF7rritXrgjx8fGCh4eH4OjoKCgUCuGtt94Sbty4Yda66enpQqtWrQR7e3vB\n3d1deO2114TLly/XeJ2HPT9UVFQIc+fOFdzd3QUHBwchJCREOHr0qFlrfvHFF2Z5/nhQ3TNnzlT5\nvPWoH2F/UN1r164JQ4cOFeRyuWBvby/I5XJhyJAhwv79+x+ppjlIBKEWPztFREREjzWucSAiIiLR\nGByIiIhINAYHIiIiEo3BgYiIiERjcCAiIiLRGByIiIhINAYHIiIiEo3BgciCvLy84OXlZelpkAWt\nWLECEomk1u+oSlRdDA5EDyCRSAy+pFIpXF1d0adPH6xZs8bS06uzVq5cWel7c/+XtcjMzIREIkFS\nUpKlp0JUI3ivCiIR5s6dC+DOzW9OnTqFjRs3YseOHTh06BCSk5MtPLu665lnnsHQoUMtPY1HMnz4\ncHTv3h3NmjWz9FSIRGFwIBJh3rx5Bo+3bduGfv364eOPP8akSZP4doOF+Pr6VvrePG5cXFzg4uJi\n6WkQica3KoiqoW/fvmjXrh0EQcDBgwcN+r755huEhITo76TXsWNHLFiwQNStcT/99FNIJBK8/fbb\nRvsLCwthZ2eHjh076ttKS0sxf/58+Pj4oGHDhmjQoAFat26NiIgI5OTkVNqHKfO7uwbj6tWrmDJl\nClq2bAknJyf4+vpiw4YNAIDy8nK8++67ePrpp+Ho6IjWrVtjyZIlVR7jli1bMGDAALi6usLBwQGt\nW7fGtGnT9HdArGnl5eWQSCR49tlnkZ+fj1deeQXNmjWDVCrVryv47bffMH36dPj7+8PNzQ0ODg7w\n8vLC+PHjceHChSr3vXnzZgwaNAhNmzaFg4MDWrZsiaFDh2L79u0AgNGjR6Nfv34AgNmzZxu8lbJn\nzx4AD17jcPDgQQwbNsxgTq+//rr+bo33Gj16NCQSCc6dOweVSgUfHx84OjrC3d0dEyZMwJUrVx75\n/5II4BkHomq7e3+4e99PT0xMxIIFC+Dq6oqRI0fC2dkZP//8MxITE7FlyxZs3boV9vb2Ve5z1KhR\nePPNN/HZZ59h1qxZkEqlBv2ff/45ysvLMX78eP0c+vfvj+zsbAQGBmLs2LGwtbXF+fPnsWPHDvTo\n0QNKpfKR5nf79m3069cPly5dwnPPPYeysjJ8/fXXeOGFF7B161aoVCocOHAA4eHhcHBwwLfffouJ\nEyfCzc0NERERBvt6++23MW/ePDRp0kT/gnvkyBEsWrQIGRkZ2LdvHxo2bFi9b8hDFBUVoVu3bnBx\nccELL7wAiUSCpk2bAgC+/fZbLFu2DL1790ZwcDDs7Oxw9OhRLF++HJs2bcKhQ4cgl8sN9jdz5ky8\n9957aNCgAYYOHYoWLVogPz8fe/fuxZo1a9CnTx88//zzsLGxwerVq9G7d2+EhITot3/Yrew3bNiA\nl156CRKJBC+++CI8PDxw8OBBLF26FBs3bsTevXuN7uONN96AWq3GoEGDEBYWhm3btuHTTz/F77//\nDrVaXQP/k1TnWfTenD6q8YwAAAjXSURBVERWDv+97e391Gq1IJFIBIlEIpw9e1YQBEHIzs4WAAgt\nW7YUCgoK9GNv374tDBo0SAAgvPvuuwb78fT0FDw9PQ3aXnvtNQGA8OOPPxq0V1RUCAqFQqhXr57+\ntspHjhwRAAhDhw6tNEedTidcunRJ/7i68wMgDBo0SLh586a+fffu3QIAoXHjxoK/v79QXFys7/v9\n998FOzs7wdfX12Bfd2+FHRgYaDBeEP53++TJkydXOg5j7o5/5plnhLlz51b6ys3NNTi+u9/HmJgY\noby8vNL+zp07Z3B8d2VkZAgSiUR4/fXXDdp/+uknAYDQunVr4cKFCwZ9FRUVwvnz5/WP1Wq1AECY\nP3++0WNZvny5AEBYvXq1vq2kpERo1KiRIJVKhb179xqMT0pKEgAI4eHhBu2jRo0SAAheXl7CuXPn\n9O1lZWVCYGCgAEDIyckxOgciUzA4ED3A3Recuy9IiYmJwgsvvCBIpVIBgDBlyhT92LFjxwoAhE8/\n/bTSfn777TfBxsZGUCgUBu3GgsOxY8f0L9b32rx5swBAePnll/Vtd4PDiBEjHnos1Z0fAOH/27nX\nkKb6OA7gXy9Ty5kTE3NzgtkirdDCQtSVZKTYC2MoQRcGWdIdjC76JjKEJArfGJJMUqx8oS9SKbvQ\nxUwSCqmwXllrWrrwModG5HS/58XznD1bZ9Ojjyvh+X3AN+f/+5/9ds7g/I7/S29vr6hPbGwsAaDH\njx+L2jIyMsjf39/lIb1r1y4CQD09PW7zS0pKooiIiFm/B9G/hYOnvxs3bjhihcIhKCiIhoeHJZ3f\nWXx8PGk0Gpdj2dnZBIBaWlpm7T+fwqG2tpYA0P79+0Xxk5OTpFarCYBLgSIUDs7fXVBdXU0AqKqq\natZ8GZsND1UwJoEw58DHxwcKhQJarRYFBQXYt2+fI6a7uxsAsG3bNlH/1atXIzo6GkajEVardcbJ\ncGvXrsWWLVvQ1taG/v5+qNVqAEB1dTUA4PDhw47YhIQEJCUloaGhASaTCbm5uUhPT0dycrJoyGG+\n+SkUCsTFxYn6KJVKGI1Gl6EQgUqlwtTUFMxmM1QqFQDg5cuXkMlkaGxsRGNjo6jP5OQkhoaGMDIy\ngvDwcI/Xx5ler0dtba2k2JUrV3o8LxGhvr4edXV1ePfuHSwWC6anpx3tS5cudYnv6uqCr68vsrKy\nJH32XM10r2QyGbRaLW7fvo03b944rq8gOTlZ1Ef4DVksFi9ky/5vuHBgTAL6Zz7DTKxWKwCIxsIF\nUVFR6Ovrw9jY2Kyz6I8ePYrnz5/DYDCgtLQUZrMZLS0tSEpKwubNmx1xfn5+ePLkCS5evIimpiac\nO3cOABASEgK9Xo9Lly5BLpf/p/w85erv7++xXWiz2WyOYyMjI5iamvI48VMwMTEhuXCYixUrVnhs\nO3nyJCorK6FUKpGdnQ2VSoWgoCAAf88rGRgYcIm3Wq2IiIiYcb7KfyHlXgFwO6FUoVCIjgn3w7kY\nYmy+uHBgbIEID1Cz2ez2DX1wcNAlbiY6nQ6RkZGoqanB+fPnRZMinYWFhaGiogIVFRXo7e1Fe3s7\nrl+/jsrKSoyNjaG+vn7B85uP0NBQ2O12jI6OeuX8s/G0KdTg4CCuXbuGxMREdHZ2Ijg42KVduH7O\nQkNDMTw8jMnJSa8UD873ylPOznGM/U68HJOxBbJhwwYAwLNnz0Rtvb29+PLlC2JjY92+Ef5KJpPh\n4MGD+Pr1K1pbW2EwGCCXy7F3794Z+61atQoFBQVob2+HXC5Hc3OzV/Kbj5SUFFgsFrx//94r55+v\njx8/goiQlZUlKhpMJhM+f/4s6pOSkgK73Y4HDx7Men5hZcxc3vZnulc2mw2dnZ0ucYz9Tlw4MLZA\nDhw4AAAoKyvD0NCQ4/j09DROnz4Nu92OgoICyecrLCyEn58fjh8/DqPRiD179iAkJMQlxmg04tOn\nT6K+FosFP3/+xJIlS7yW31wVFRUBAA4dOiT61z8AfP/+HV1dXV77fE+Ezbs6OjpcHu7j4+MoLCyE\n3W4X9Tlx4gQA4NSpU463f2fOez8Iwy59fX2Sc9LpdFAoFLh586Zon5CrV6/CZDI5hlQY+914qIKx\nBZKamoqzZ8/i8uXLWLduHfLy8hAcHIy2tjb09PQgPT0dZ86ckXy+mJgY7Ny5Ey0tLQDgdpji7du3\n0Ol02LRpE+Lj46FUKjE0NITm5mbYbDbHnAdv5DdXmZmZKC8vR0lJCTQaDXJychAbG4uJiQmYTCa0\nt7cjPT0d9+/f91oO7kRHRyMvLw9NTU3YuHEjtm/fDqvViocPH0Iul2P9+vX48OGDS5+cnBwUFxej\nvLwca9ascezjYDab8eLFC2i1WhgMBgB/T2CNiorCrVu34Ovri5iYGPj4+ECv1zsmLf5q2bJlqKmp\nwe7du6HVapGfnw+1Wo3Xr1/j0aNHUCqVqKqq8vq1YcytP7yqg7FFDR72cZhJQ0MDpaWlkVwup8DA\nQEpISKCysjL68eOHKNbdckxnd+7cIQCUnJzstr2/v59KSkooNTWVIiMjKSAggFQqFWVnZ9O9e/e8\nmt/WrVs9Xhu9Xk8AyGg0ito6OjooPz+foqKiSCaT0fLlyykxMZGKioro1atX7i/EL4TlmHq9ftZY\nYTlmZmamx5iJiQkqLi6muLg4CgwMJLVaTceOHaPR0VFKS0sjPz8/t/1aW1tpx44dFBYWRgEBARQd\nHU06nY6ePn3qEtfV1UUZGRkUEhLi+E11dHQQkfvlmM79cnNzKTw8nGQyGcXExNCRI0doYGBAFCss\nx3Tew0Ew25JQxubCh0jCdHHG2B9x4cIFlJaWwmAweHUYgTHGpOLCgbFFanx8HBqNBjabDf39/aK9\nBBhj7E/gOQ6MLTJ3795Fd3c3Wltb8e3bN1y5coWLBsbYosGFA2OLTGNjI+rq6hAZGYmSkhLHagTG\nGFsMeKiCMcYYY5LxPg6MMcYYk4wLB8YYY4xJxoUDY4wxxiTjwoExxhhjknHhwBhjjDHJuHBgjDHG\nmGR/AQj4AEDw3KjAAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5e44bf3510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "predictions = model.predict(seq_e_test)\n",
    "\n",
    "scores = []\n",
    "for i in range(14):\n",
    "    pred = predictions[:,i]\n",
    "    obs = e_test[rfractions[i]]\n",
    "    slope, intercept, r_value, p_value, std_err = stats.linregress(obs,pred)\n",
    "    scores.append(round(r_value**2, 3))\n",
    "mean = round(np.array(scores).sum() / len(scores),3)\n",
    "f, ax = plt.subplots()\n",
    "ax.bar(x=range(len(scores)),height=scores,align='center',color='#F9A01B',edgecolor='#F15A22', linewidth=1.5)\n",
    "ax.set_xticks(range(0,14));\n",
    "ax.set_xlim((-1,14))\n",
    "\n",
    "ax.set_yticks(np.arange(0,1.01,0.1))\n",
    "ax.set_yticklabels([round(x,1) for x in np.arange(0,1.01,0.1)])\n",
    "ax.axhline(mean, linewidth=1.5, ls='dashed', color='k')\n",
    "ax.text(x=10.5, y=0.93, s='mean R2: ' + str(mean))\n",
    "ax.xaxis.set_ticks_position('bottom')\n",
    "ax.yaxis.set_ticks_position('left')\n",
    "ax.set_xlabel('Polysome Fraction', size=20)\n",
    "ax.set_ylabel('R-squared', size=20);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Save model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model.save('./saved_models/my_poly_profile_model.hdf5')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plotting test results"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Choose random UTRs to look at observed / predicted polysome distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5cf4d98b90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "current_palette = sns.color_palette()\n",
    "targets = np.arange(3, 9, 1)\n",
    "ncols = 1\n",
    "f, axes = plt.subplots(nrows=len(targets))\n",
    "f.set_size_inches((2,10))\n",
    "f.subplots_adjust(hspace=0.5)\n",
    "row = 0\n",
    "col = 0 \n",
    "for target in targets:\n",
    "    sub = e_test[(e_test['rl'] > target - 0.05) & (e_test['rl'] < target + 0.05)]\n",
    "    ind = sub.sample(n=1).index[0]\n",
    "    pred = predictions[ind,:] * 100\n",
    "    obs = e_test.loc[ind,rfractions].values * 100\n",
    "    \n",
    "    majorLocator = ticker.MultipleLocator(2)\n",
    "    \n",
    "    ax = axes[row]\n",
    "    ax.plot(obs, color=current_palette[0], label='Observed', linewidth=2)\n",
    "    ax.plot(pred, color=current_palette[2], label='Predicted', linewidth=2)\n",
    "    ax.xaxis.set_major_locator(majorLocator)\n",
    "    ax.tick_params(axis='both', pad=3)\n",
    "\n",
    "    ax.set_xlim(0,13)\n",
    "    if row == 0:\n",
    "        ax.set_ylim((0,0.30))\n",
    "        ax.set_yticks(np.arange(0, 30.01, 10))\n",
    "    if row == 1:\n",
    "        ax.set_ylim((0,0.2))\n",
    "        ax.set_yticks(np.arange(0, 20.01, 5))\n",
    "    if row == 2:\n",
    "        ax.set_ylim((0,0.18))\n",
    "        ax.set_yticks(np.arange(0, 18.01, 6))\n",
    "    if row == 3:\n",
    "        ax.set_ylim((0,0.16))\n",
    "        ax.set_yticks(np.arange(0, 15.01, 5))\n",
    "    if row == 4:\n",
    "        ax.set_ylim((0,0.15))\n",
    "        ax.set_yticks(np.arange(0, 15.01, 5))\n",
    "    if row == 5:\n",
    "        ax.set_ylim((0,0.15))\n",
    "        ax.set_yticks(np.arange(0, 15.01, 5))\n",
    "       \n",
    "    ax.set_ylabel('Abundance (%)')\n",
    "    \n",
    "    if row == 5:\n",
    "        ax.set_xlabel('Polysome Fraction')\n",
    "\n",
    "    if row == 0:\n",
    "        ax.legend(loc='upper right', fontsize=8, markerscale=1)\n",
    "    \n",
    "    row += 1\n",
    "    \n",
    "sns.despine()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
